{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "867e01aa-68b6-4428-8677-88ee23306a41",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.33333333 + 0.5·P₁(x) + 0.16666667·P₂(x) + (3.97056586e-17)·P₃(x)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from numpy.polynomial.legendre import Legendre\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['axes.unicode_minus']=False#用来正常显示负号\n",
    "\n",
    "# 给定的离散数据点\n",
    "x_data = np.linspace(-1,1,50)\n",
    "y_data = x_data ** 2  # 可以替换为任意数据\n",
    "\n",
    "# 将 x 映射到 [-1, 1]\n",
    "t_data = 2 * x_data - 1\n",
    "\n",
    "# 勒让德多项式阶数\n",
    "m = 3\n",
    "\n",
    "# 计算勒让德多项式的系数（使用最小二乘法）\n",
    "coeffs = np.polynomial.legendre.legfit(t_data, y_data, m)\n",
    "\n",
    "\n",
    "# 构造逼近函数\n",
    "approx_func = Legendre(coeffs)\n",
    "print(approx_func)\n",
    "\n",
    "# 绘制结果\n",
    "t_plot = np.linspace(-1, 1, 100)\n",
    "x_plot = (t_plot + 1) / 2\n",
    "y_plot = approx_func(t_plot)\n",
    "\n",
    "plt.scatter(x_data, y_data, color='red', label='Data Points')\n",
    "plt.plot(x_plot, y_plot, label='Legendre Approximation')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eb3141bd-98d0-4182-8410-4ad1016c4466",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0a4c3987-e2c5-4da1-9799-bbf328ee0748",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4b69aea6-09aa-4a4d-8dd0-eb9c49b5d0b3",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
